Cable operators and vendors, such as Big Band, Motorola, Cisco, and Imagine Communications, have developed and are further refining systems to measure bandwidth demand or “pull” by cable consumers and allocate capacity within a cable plant node on a real-time dynamic basis. These types of systems are referred to as “switched digital video” systems. Switched digital video (“SDV”) systems are being implemented to resolve growing consumer demand of cable bit/bandwidth. With hundreds of possible television channels and an increasing number of high-definition (“HD”) channels, cable service providers are being stretched to the limits of their network capacity in order to provide uninterrupted, quality service to their subscribers. In addition to audio and video data transmitted for television services, many providers also package Internet, Video-on-Demand and digital telephone services to subscribers—all within the same cable infrastructure.
To accommodate the increased demand for bandwidth, cable providers limit the transmission of a particular channel until it is requested by a subscriber. For example, a certain channel is not constantly broadcast to a home, or neighborhood. When a subscriber tunes to that channel on the digital set-top box, a signal is sent to the cable provider to “turn-on” the channel. The provider then transmits the stream of data containing that channel's video and audio through the cable to the set-top box and on to the subscriber's television. Should a second subscriber in the same service area call up that same channel, the stream is forwarded on to that set top box eliminating the need for a second stream of the same channel.
The transmission speeds of signals over the cable lines is fast enough that the subscriber is unaware that seconds before tuning to that station, the station was not being broadcast at all.
Current switched digital video systems are designed to alleviate and overcome bandwidth transmission limitations from the consumer on a “pull” basis (i.e., dynamically allocating bandwidth based upon subscriber usage and demand). For example, when a digital Cable TV subscriber starts a Video-On-Demand (“VOD”) session to watch a movie, a traditional sequence of events includes following steps: the subscriber selects a particular piece of On-Demand content from the menu on the Digital Cable Set-top Box (“DSTB”); the DSTB initiates a request to the back-end VOD server to start a session; the VOD server performs some authentication and/or billing functions; and then the VOD server allocates the content. The VOD server then will attempt to allocate bandwidth for this session. If no bandwidth can be allocated at the time of the request, the VOD server will notify the DSTB which will then inform the user of the failed VOD session with an “Error: Please try again later” message.
Once bandwidth is allocated, the VOD server will begin streaming the content (via the newly allocated bandwidth) to the DSTB, where it is rendered to the subscriber. After the session is over (either because the subscriber actively stopped the session, or because the session timed out), the bandwidth is de-allocated and returned to the network.
Another example of the traditional “pull-based” model of bandwidth allocation occurs when a digital Cable TV subscriber changes channels in a cable system that uses SDV technology to save bandwidth. The subscriber requests the DSTB to tune from channel X to channel Y, either through a Program Guide, or by pressing a Channel-Up/Channel-Down button on the remote control, or by entering the channel number directly on the remote control. The DSTB initiates a request to the back-end SDV server conveying that the DSTB will leave channel X and tune to channel Y. The SDV server will first check if this was the only viewer in the service area that was still watching channel X; if that is the case, the SDV server will remove channel X from the active channel line-up for this particular cable system service areas, and de-allocate the bandwidth that the channel data stream station was occupying.
The SDV server will then check to see if channel Y is already available in the active channel line-up for this particular cable system service area (signifying that at least one other subscriber's DSTB in the service area is tuned to this channel already); if it is not yet available, the SDV server will allocate bandwidth for it and add it to the active channel line-up. The SDV server will then send a message back to the DSTB to indicate the (new) position of channel Y in the active channel line-up, at a position ‘n’). Upon receipt of this message, the DSTB will tune to position n, and the viewer will start viewing channel Y.
There remains an untapped resource for cable and satellite service providers, as well as advertisers alike in adapting a dynamic bandwidth allocation protocol on a “push” basis to opportunistically exploit the gaps or holes in the available bandwidth efficiently and effectively. That is, dynamically allocating available bandwidth to certain channels for the inclusion of additional services, such as advanced advertising and content delivery, while minimizing bandwidth allocated to a channel but not which is being used.